[PATCH] D92058: [XCOFF][AIX] Alternative path in EHStreamer for platforms do not have uleb128 support

Hubert Tong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 30 20:07:31 PST 2020


hubert.reinterpretcast added inline comments.


================
Comment at: llvm/lib/MC/MCAsmInfo.cpp:35
+    cl::desc(
+        "Disable the usage of uleb128 directive, and generate .byte instead."),
+    cl::values(clEnumVal(Default, "Default for platform"),
----------------
s/uleb128 directive/LEB128 directives/;


================
Comment at: llvm/lib/MC/MCAsmInfoXCOFF.cpp:23
   UseDotAlignForAlignment = true;
+  HasULEB128Directive = false;
   ZeroDirective = "\t.space\t";
----------------
This makes it so that overriding the default with the option to enable use of LEB128 directives on AIX is not possible. Being able to enable such use is meaningful in the context of the integrated assembler or when using alternate or future AIX assemblers.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-exception.ll:81-101
+; ASM:      ._Z9catchFuncv:
+; ASM:      L..func_begin0:
+; ASM:      # %bb.0:                                # %entry
+; ASM:      	mflr 0
+; ASM:      L..tmp0:
+; ASM:      	bl ._Z9throwFuncv
+; ASM:      	nop
----------------
Why the shift here? The labels were aligned before.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-exception.ll:109-113
+; ASM64:        .byte	188                             # @TType Encoding = <unknown encoding>
+; ASM32:  	.byte   37
+; ASM64:        .byte	41
 ; ASM:  	.byte	3                               # Call site Encoding = udata4
+; ASM:  	.byte   26
----------------
Be consistent on the use of physical tab characters (and space characters preceding such to maintain display alignment).


================
Comment at: llvm/test/CodeGen/PowerPC/aix-exception.ll:144-146
+; ASM:      	.toc
+; ASM:      L..C0:
+; ASM:      	.tc _ZTIi[TC],_ZTIi[UA]
----------------
Same comment re: why the shift?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92058/new/

https://reviews.llvm.org/D92058



More information about the llvm-commits mailing list