Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3 |
|
#
e3a676e9 |
| 24-Jun-2019 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
CodeGen: Introduce a class for registers
Avoids using a plain unsigned for registers throughoug codegen. Doesn't attempt to change every register use, just something a little more than the set neede
CodeGen: Introduce a class for registers
Avoids using a plain unsigned for registers throughoug codegen. Doesn't attempt to change every register use, just something a little more than the set needed to build after changing the return type of MachineOperand::getReg().
llvm-svn: 364191
show more ...
|
#
3062e87a |
| 14-Jun-2019 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Fix not calling TargetCustom PSVs printer
If the enum value was greater than the starting target custom value, the custom printer wasn't called.
llvm-svn: 363386
|
Revision tags: llvmorg-8.0.1-rc2 |
|
#
d8e87227 |
| 01-Jun-2019 |
Eli Friedman <efriedma@quicinc.com> |
[CodeGen] Fix hashing for MO_ExternalSymbol MachineOperands.
We were hashing the string pointer, not the string, so two instructions could be identical (isIdenticalTo), but have different hash codes
[CodeGen] Fix hashing for MO_ExternalSymbol MachineOperands.
We were hashing the string pointer, not the string, so two instructions could be identical (isIdenticalTo), but have different hash codes.
This showed up as a very rare, non-deterministic assertion failure rehashing a DenseMap constructed by MachineOutliner. So there's no "real" testcase, just a unittest which checks that the hash function behaves correctly.
I'm a little scared fixing this is going to cause a regression in outlining or MachineCSE, but hopefully we won't run into any issues.
Differential Revision: https://reviews.llvm.org/D61975
llvm-svn: 362281
show more ...
|
Revision tags: llvmorg-8.0.1-rc1 |
|
#
f672b617 |
| 15-May-2019 |
Nicolai Haehnle <nhaehnle@gmail.com> |
[MachineOperand] Add a ChangeToGA method
Summary: Analogous to the other ChangeToXXX methods. See the next patch for a use case.
Change-Id: I6548d614706834fb9109ab3c8fe915e9c6ece2a7
Reviewers: ars
[MachineOperand] Add a ChangeToGA method
Summary: Analogous to the other ChangeToXXX methods. See the next patch for a use case.
Change-Id: I6548d614706834fb9109ab3c8fe915e9c6ece2a7
Reviewers: arsenm, kzhuravl
Subscribers: wdng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61651
llvm-svn: 360789
show more ...
|
#
b6c190da |
| 12-Apr-2019 |
Eric Christopher <echristo@gmail.com> |
Include what's used in a few cpp files - these were getting transitive includes from MCDwarf.h.
llvm-svn: 358254
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2 |
|
#
2a64598e |
| 31-Jan-2019 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
GlobalISel: Fix creating MMOs with align 0
llvm-svn: 352712
|
Revision tags: llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository.
llvm-svn: 351636
show more ...
|
#
f57d7d82 |
| 18-Dec-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
[AArch64] - Return address signing dwarf support
- Reapply changes intially introduced in r343089 - The archtecture info is no longer loaded whenever a DWARFContext is created - The runtimes librari
[AArch64] - Return address signing dwarf support
- Reapply changes intially introduced in r343089 - The archtecture info is no longer loaded whenever a DWARFContext is created - The runtimes libraries (santiziers) make use of the dwarf context classes but do not intialise the target info - The architecture of the object can be obtained without loading the target info - Adding a method to the dwarf context to get this information and multiplex the string printing later on
Differential Revision: https://reviews.llvm.org/D55774
llvm-svn: 349472
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
#
6db3a6a4 |
| 23-Nov-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Revert r347490 as it breaks address sanitizer builds
llvm-svn: 347499
|
#
d6dbd641 |
| 23-Nov-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Revert r343341
- Cannot reproduce the build failure locally and the build logs have been deleted.
llvm-svn: 347490
|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
a8340389 |
| 30-Oct-2018 |
Matthias Braun <matze@braunis.de> |
MachineOperand/MIParser: Do not print debug-use flag, infer it
The debug-use flag must be set exactly for uses on DBG_VALUEs. This is so obvious that it can be trivially inferred while parsing. Thi
MachineOperand/MIParser: Do not print debug-use flag, infer it
The debug-use flag must be set exactly for uses on DBG_VALUEs. This is so obvious that it can be trivially inferred while parsing. This will reduce noise when printing while omitting an information that has little value to the user.
The parser will keep recognizing the flag for compatibility with old `.mir` files.
Differential Revision: https://reviews.llvm.org/D53903
llvm-svn: 345671
show more ...
|
#
f213f81d |
| 25-Oct-2018 |
Jonas Paulsson <paulsson@linux.vnet.ibm.com> |
Fix in MachineOperand::printIRValueReference().
Handle the case where getCurrentFunction() returns nullptr by passing -1 to printIRSlotNumber(). This will result in <badref> being printed instead of
Fix in MachineOperand::printIRValueReference().
Handle the case where getCurrentFunction() returns nullptr by passing -1 to printIRSlotNumber(). This will result in <badref> being printed instead of an assertion failure.
Review: Francis Visoiu Mistrih https://reviews.llvm.org/D53333
llvm-svn: 345342
show more ...
|
#
10981cc8 |
| 28-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Revert r343317
- asan buildbots are breaking and I need to investigate the issue
llvm-svn: 343341
|
#
21f2955b |
| 28-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Reapply changes reverted by r343235
- Add fix so that all code paths that create DWARFContext with an ObjectFile initialise the target architecture in the context - Add an assert that the Arch is
Reapply changes reverted by r343235
- Add fix so that all code paths that create DWARFContext with an ObjectFile initialise the target architecture in the context - Add an assert that the Arch is known in the Dwarf CallFrameString method
llvm-svn: 343317
show more ...
|
#
8e5676b1 |
| 27-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Revert r343192 as an ubsan build is currently failing
llvm-svn: 343235
|
#
f6844b30 |
| 27-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Reapply changes reverted in r343114, lldb patch to follow shortly
llvm-svn: 343192
|
#
77aaa220 |
| 26-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
Revert r343112 as CallFrameString API change has broken lldb builds
llvm-svn: 343114
|
#
03ad8812 |
| 26-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
[AArch64] - Return address signing dwarf support
- Reapply r343089 with a fix for DebugInfo/Sparc/gnu-window-save.ll
llvm-svn: 343112
|
#
00b88bbc |
| 26-Sep-2018 |
Hans Wennborg <hans@hanshq.net> |
Revert r343089 "[AArch64] - Return address signing dwarf support"
This caused the DebugInfo/Sparc/gnu-window-save.ll test to fail.
> Functions that have signed return addresses need additional dwar
Revert r343089 "[AArch64] - Return address signing dwarf support"
This caused the DebugInfo/Sparc/gnu-window-save.ll test to fail.
> Functions that have signed return addresses need additional dwarf support: > - After signing the LR, and before authenticating it, the LR register is in a > state the is unusable by a debugger or unwinder > - To account for this a new directive, .cfi_negate_ra_state, is added > - This directive says the signed state of the LR register has now changed, > i.e. unsigned -> signed or signed -> unsigned > - This directive has the same CFA code as the SPARC directive GNU_window_save > (0x2d), adding a macro to account for multiply defined codes > - This patch matches the gcc implementation of this support: > https://patchwork.ozlabs.org/patch/800271/ > > Differential Revision: https://reviews.llvm.org/D50136
llvm-svn: 343103
show more ...
|
#
f755e687 |
| 26-Sep-2018 |
Luke Cheeseman <luke.cheeseman@arm.com> |
[AArch64] - Return address signing dwarf support
Functions that have signed return addresses need additional dwarf support: - After signing the LR, and before authenticating it, the LR register is i
[AArch64] - Return address signing dwarf support
Functions that have signed return addresses need additional dwarf support: - After signing the LR, and before authenticating it, the LR register is in a state the is unusable by a debugger or unwinder - To account for this a new directive, .cfi_negate_ra_state, is added - This directive says the signed state of the LR register has now changed, i.e. unsigned -> signed or signed -> unsigned - This directive has the same CFA code as the SPARC directive GNU_window_save (0x2d), adding a macro to account for multiply defined codes - This patch matches the gcc implementation of this support: https://patchwork.ozlabs.org/patch/800271/
Differential Revision: https://reviews.llvm.org/D50136
llvm-svn: 343089
show more ...
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2 |
|
#
cc3f6302 |
| 20-Aug-2018 |
Krzysztof Parzyszek <kparzysz@codeaurora.org> |
Consistently use MemoryLocation::UnknownSize to indicate unknown access size
1. Change the software pipeliner to use unknown size instead of dropping memory operands. It used to do it before, but
Consistently use MemoryLocation::UnknownSize to indicate unknown access size
1. Change the software pipeliner to use unknown size instead of dropping memory operands. It used to do it before, but MachineInstr::mayAlias did not handle it correctly. 2. Recognize UnknownSize in MachineInstr::mayAlias. 3. Print and parse UnknownSize in MIR.
Differential Revision: https://reviews.llvm.org/D50339
llvm-svn: 340208
show more ...
|
Revision tags: llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2 |
|
#
745918ff |
| 31-May-2018 |
Jonas Devlieghere <jonas@devlieghere.com> |
[ADT] Make escaping fn conform to coding guidelines
As noted by Adrian on llvm-commits, PrintHTMLEscaped and PrintEscaped in StringExtras did not conform to the LLVM coding guidelines. This commit r
[ADT] Make escaping fn conform to coding guidelines
As noted by Adrian on llvm-commits, PrintHTMLEscaped and PrintEscaped in StringExtras did not conform to the LLVM coding guidelines. This commit rectifies that.
llvm-svn: 333669
show more ...
|
#
f487edae |
| 07-May-2018 |
Roman Tereshin <rtereshin@apple.com> |
[MachineVerifier][GlobalISel] NFC, Improving MO printing and refactoring visitMachineInstrBefore
This is an NFC pre-commit for the following "Checking that generic instrs have LLTs on all vregs" com
[MachineVerifier][GlobalISel] NFC, Improving MO printing and refactoring visitMachineInstrBefore
This is an NFC pre-commit for the following "Checking that generic instrs have LLTs on all vregs" commit.
This overloads MachineOperand::print to make it possible to print LLTs with standalone machine operands.
This also overloads MachineVerifier::print(...MachineOperand...) with an optional LLT using the newly introduced MachineOperand::print variant; no actual calls added.
This also refactors MachineVerifier::visitMachineInstrBefore in the parts dealing with all generic instructions (checking Selected property, LLTs, and phys regs).
llvm-svn: 331693
show more ...
|
#
432a3883 |
| 30-Apr-2018 |
Nico Weber <nicolasweber@gmx.de> |
IWYU for llvm-config.h in llvm, additions.
See r331124 for how I made a list of files missing the include. I then ran this Python script:
for f in open('filelist.txt'): f = f.strip()
IWYU for llvm-config.h in llvm, additions.
See r331124 for how I made a list of files missing the include. I then ran this Python script:
for f in open('filelist.txt'): f = f.strip() fl = open(f).readlines()
found = False for i in xrange(len(fl)): p = '#include "llvm/' if not fl[i].startswith(p): continue if fl[i][len(p):] > 'Config': fl.insert(i, '#include "llvm/Config/llvm-config.h"\n') found = True break if not found: print 'not found', f else: open(f, 'w').write(''.join(fl))
and then looked through everything with `svn diff | diffstat -l | xargs -n 1000 gvim -p` and tried to fix include ordering and whatnot.
No intended behavior change.
llvm-svn: 331184
show more ...
|
Revision tags: llvmorg-6.0.1-rc1 |
|
#
c01efe69 |
| 09-Apr-2018 |
Daniel Sanders <daniel_l_sanders@apple.com> |
Fix type mismatch between MachineMemOperand constructor and accessors. NFC
This allows MachineMemOperand::getSize()'s result to be fed directly into MachineMemOperand::MachineMemOperand() without a
Fix type mismatch between MachineMemOperand constructor and accessors. NFC
This allows MachineMemOperand::getSize()'s result to be fed directly into MachineMemOperand::MachineMemOperand() without a narrowing type conversion warning.
llvm-svn: 329602
show more ...
|