[Lldb-commits] [compiler-rt] [libcxx] [llvm] [lldb] [flang] [clang] [clang-tools-extra] [libc] [PowerPC] Support mcmodel=large for AIX (PR #70652)

2023-10-31 Thread Chen Zheng via lldb-commits


@@ -5723,16 +5723,14 @@ void Clang::ConstructJob(Compilation &C, const 
JobAction &JA,
   if (Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) {
 StringRef CM = A->getValue();
 bool Ok = false;
-if (Triple.isOSAIX() && CM == "medium") {
+if (Triple.isOSAIX() && CM == "medium")
   CM = "large";
-  Ok = true;
-}
 if (Triple.isAArch64(64)) {
   Ok = CM == "tiny" || CM == "small" || CM == "large";
   if (CM == "large" && RelocationModel != llvm::Reloc::Static)
 D.Diag(diag::err_drv_argument_only_allowed_with)
 << A->getAsString(Args) << "-fno-pic";
-} else if (Triple.isPPC64()) {
+} else if (Triple.isPPC64() || Triple.isOSAIX()) {

chenzheng1030 wrote:

AIX seems good now.
However I think we still have one active ppc32 target like SPE working on PPC. 
So now clang can not accept any code model for target `-target powerpcspe`.
>From simple testing, this target supports all these three models.

https://github.com/llvm/llvm-project/pull/70652
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [compiler-rt] [flang] [libcxx] [libc] [lldb] [clang-tools-extra] [clang] [llvm] [PowerPC] Support mcmodel=large for AIX (PR #70652)

2023-11-05 Thread Chen Zheng via lldb-commits


@@ -5723,16 +5723,14 @@ void Clang::ConstructJob(Compilation &C, const 
JobAction &JA,
   if (Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) {
 StringRef CM = A->getValue();
 bool Ok = false;
-if (Triple.isOSAIX() && CM == "medium") {
+if (Triple.isOSAIX() && CM == "medium")
   CM = "large";
-  Ok = true;
-}
 if (Triple.isAArch64(64)) {
   Ok = CM == "tiny" || CM == "small" || CM == "large";
   if (CM == "large" && RelocationModel != llvm::Reloc::Static)
 D.Diag(diag::err_drv_argument_only_allowed_with)
 << A->getAsString(Args) << "-fno-pic";
-} else if (Triple.isPPC64()) {
+} else if (Triple.isPPC64() || Triple.isOSAIX()) {

chenzheng1030 wrote:

```
int b = 20;
int foo()
{
  return b;
}
```

- Small code model:
```
.foo:
# %bb.0:# %entry
lwz 3, L..C0(2) # @b  ;; Use one instruction to 
load b's address in the TOC. So only 2^16 bytes TOC range can be accessed 
because of encoding limitation of `lwz` instruction.
lwz 3, 0(3)
blr
```

- large code model
```
.foo:
# %bb.0:# %entry
addis 3, L..C0@u(2)
lwz 3, L..C0@l(3)  ;; Use two instructions to load b's address. 
So that bigger TOC range can be accessed.
lwz 3, 0(3)
blr
```

https://github.com/llvm/llvm-project/pull/70652
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [compiler-rt] [flang] [libcxx] [libc] [lldb] [clang-tools-extra] [clang] [llvm] [PowerPC] Support mcmodel=large for AIX (PR #70652)

2023-11-05 Thread Chen Zheng via lldb-commits

https://github.com/chenzheng1030 approved this pull request.

@ecnelises Let's first fix this for AIX. Could you please help to create a 
github issue for the SPE? Thanks.

https://github.com/llvm/llvm-project/pull/70652
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] ed88e57 - [LLDB] Fix buildbots breakage due to TestGuessLanguage.py

2021-06-15 Thread Chen Zheng via lldb-commits

Author: Chen Zheng
Date: 2021-06-16T05:03:06Z
New Revision: ed88e57f6587ea51d1c106acbdd82a083f746606

URL: 
https://github.com/llvm/llvm-project/commit/ed88e57f6587ea51d1c106acbdd82a083f746606
DIFF: 
https://github.com/llvm/llvm-project/commit/ed88e57f6587ea51d1c106acbdd82a083f746606.diff

LOG: [LLDB] Fix buildbots breakage due to TestGuessLanguage.py

Fix LLDB buidbot breakage due to D104291

Differential Revision: https://reviews.llvm.org/D104291

Added: 


Modified: 
lldb/test/API/commands/frame/language/TestGuessLanguage.py

Removed: 




diff  --git a/lldb/test/API/commands/frame/language/TestGuessLanguage.py 
b/lldb/test/API/commands/frame/language/TestGuessLanguage.py
index f20f184e3910b..1adab53a4ebc1 100644
--- a/lldb/test/API/commands/frame/language/TestGuessLanguage.py
+++ b/lldb/test/API/commands/frame/language/TestGuessLanguage.py
@@ -66,7 +66,7 @@ def do_test(self):
 thread = threads[0]
 
 c_frame_language = lldb.eLanguageTypeC99
-cxx_frame_language = lldb.eLanguageTypeC_plus_plus
+cxx_frame_language = lldb.eLanguageTypeC_plus_plus_11
 # gcc emits DW_LANG_C89 even if -std=c99 was specified
 if "gcc" in self.getCompiler():
 c_frame_language = lldb.eLanguageTypeC89



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits