Displaying 20 results from an estimated 60 matches for "basetyp".
Did you mean:
basetype
2019 Aug 01
5
RFC: Strong typedef for LLVM
...e(false));
foo(arg1, Flag2Value(true), Flag1Value(false)); // Won't compile.
Of course, defining individual classes for every kind of flag does not
scale. However, a template class can make it workable:
template<typename Tag, typename T>
class StrongTypedef {
public:
using BaseType = T;
private:
BaseType Value;
public:
constexpr StrongTypedef() : Value() {}
constexpr StrongTypedef(const StrongTypedef<Tag, T> &) = default;
explicit constexpr StrongTypedef(const BaseType &V) : Value(V) {}
explicit StrongTypedef(BaseType &&V)...
2009 Jun 15
0
[LLVMdev] Regular Expressions
On Jun 15, 2009, at 11:33 AM, David Greene wrote:
> To reduce redundancy, developers must be able to write generic
> patterns
> like this:
>
> [(set DSTREGCLASS:$dst, // rr, rrr
> (xor (INTSRCTYPE (bitconvert (SRCTYPE SRCREGCLASS:$src1))),
> (INTSRCTYPE (bitconvert (SRCTYPE SRCREGCLASS:$src2)))))],
>
> The substitution then fills in the appropriate types,
2009 Jun 15
2
[LLVMdev] Regular Expressions
Chris Lattner wrote:
> However, I don't see any reason to base this off of strings. Instead
> of passing down "f32" as a string, why not do something like this
> pseudo code:
>
> class X86ValueType {
> RegisterClass RegClass;
> ...
> }
>
> def X86_f32 : X86ValueType {
> let RegClass = FR32;
> ... };
> def X86_i32 :
2017 Oct 01
2
load with alignment of 1 crashes from being unaligned
..."zig 0.0.0", isOptimized: false, runtimeVersion: 0, emissionKind:
FullDebug, enums: !3, globals: !47)
!2 = !DIFile(filename: "test", directory: ".")
!3 = !{!4, !40}
!4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Os", scope: !5,
file: !5, line: 1, baseType: !6, size: 8, align: 8, elements: !7)
!5 = !DIFile(filename: "builtin.zig", directory:
"/home/andy/dev/zig/build/zig-cache")
!6 = !DIBasicType(name: "u6", size: 8, encoding: DW_ATE_unsigned)
!7 = !{!8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21,
!2...
2009 Jun 17
3
[LLVMdev] Regular Expressions
...VX. Passing multiple types (v4f32, v8f32, etc.) is not
practical, it just obfuscates the top-level specification.
Now we need some guts:
multiclass sse41_avx_fp_binary_vector_osta_vintrinsic_rmi_rrmi<
bits<8> opc,
PatFrag ImmClass,
string OpcodeString,
string Intrinsic,
string BaseType,
list<list<dag>> ipatterns = [],
string asm = ""
> {
def rr_Int : ...
def rm_Int : ...
def V#NAME#_128rrr_Int : fp_binary_vector_irrr<
opc,
// I'm not even sure this field reference will work
!strconcat(OpcodeStr,
!cast<X86V...
2015 Apr 09
2
[LLVMdev] TBAA metadata
...ich the pointer is
derived from. Take the following example.
I know %0 = load i32, i32* %a, align 4, !tbaa !1 and store i32
%i.02, i32* %b, align 4, !tbaa !6
do not alias as their metadata !1 = !{!2, !3, i64 0} and !6 = !{!7,
!3, i64 0} tell me that they are derived from different (incompatible)
basetypes. However i can also walk up the IR chain and find out %a is
point to basetype object of struct A and %b pointing to basetype
object of struct B.
Maybe, the metadata simplified the TBAA pass ?
Thanks,
-Trent
; ModuleID = 'tbaa.ll'
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32...
2011 Oct 18
3
[LLVMdev] non-POD type with llvm-objdump
...< "[" << format("%2d", i) << "]"
<< "(sec " << format("%2d", int16_t(symbol->SectionNumber)) << ")"
<< "(fl 0x" << format("%02x", symbol->Type.BaseType) << ")"
<< "(ty " << format("%3x", symbol->Type.ComplexType) << ")"
<< "(scl " << format("%3x", symbol->StorageClass) << ") "
<< "...
2018 Jul 24
2
StructType --> DICompositeType?
...Type:
!6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !3, line: 1, size: 64, flags: DIFlagTypePassByValue, elements: !7, identifier: "_ZTS1S")
!7 = !{!8, !10}
!8 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !6, file: !3, line: 2, baseType: !9, size: 32)
!9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!10 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !6, file: !3, line: 2, baseType: !9, size: 32, offset: 32)
but given just the StructType for S there is no direct way to get to the DICo...
2017 Nov 15
2
workaround for debug info bug?
...: !17)
!5 = !DIFile(filename: "test.zig", directory: "/home/andy/dev/zig/build")
!6 = !DISubroutineType(types: !7)
!7 = !{!8, !9}
!8 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned)
!9 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[]const u8",
baseType: !10, size: 64, align: 64)
!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128,
align: 64, elements: !11)
!11 = !{!12, !15}
!12 = !DIDerivedType(tag: DW_TAG_member, name: "ptr", scope: !10, baseType:
!13, size: 64, align: 64)
!13 = !DIDerivedType(tag: DW_...
2018 Jul 25
2
A question to the DWARF experts on symbol indirection
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Tim
> Northover via llvm-dev
> Sent: Wednesday, July 25, 2018 3:07 AM
> To: Nat!
> Cc: LLVM Developers Mailing List
> Subject: Re: [llvm-dev] A question to the DWARF experts on symbol
> indirection
>
> Hi Nat!,
>
> On Wed, 25 Jul 2018 at 01:21, Nat! via
2016 Apr 30
2
Debug info scope of explicit casting type does not seem correct
...to the following IR:
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.9.0 (trunk 267335)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3)
!3 = !{!4}
!4 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 32, align: 32) <----------------- No Scope, leads to compile unit scope!!
!5 = !DIDerivedType(tag: DW_TAG_typedef, name: "T", scope: !7, file: !6, line: 16, baseType: !20)
!7 = distinct !DISubprogram(name: "foo<B>", linkageName: "_Z3fooI1BEiPv", s...
2011 Oct 19
0
[LLVMdev] non-POD type with llvm-objdump
...ot; << format("%2d", i) << "]"
> << "(sec " << format("%2d", int16_t(symbol->SectionNumber)) <<
> ")"
> << "(fl 0x" << format("%02x", symbol->Type.BaseType) << ")"
> << "(ty " << format("%3x", symbol->Type.ComplexType) << ")"
> << "(scl " << format("%3x", symbol->StorageClass) << ") "
> ...
2019 Jan 19
2
What does "preds" mean in a .ll file?
Hi,
I see things like this. What does it mean? Is it documented somewhere? Thanks.
; preds = %for.body
https://llvm.org/docs/LangRef.html
; <label>:91: ; preds = %88
%92 = load i8**, i8*** @glob_complete_word.matches, align 8, !dbg !99798
%93 = load i32, i32* @glob_complete_word.ind, align 4, !dbg !99799
%94 = sext i32 %93 to i64, !dbg !99798
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...zig 0.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug,
enums: !3, globals: !12)
!2 = !DIFile(filename: "test", directory: ".")
!3 = !{!4}
!4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage",
scope: !5, file: !5, line: 126, baseType: !6, size: 8, align: 8, elements:
!7)
!5 = !DIFile(filename: "builtin.zig", directory:
"/home/andy/dev/zig/build/zig-cache")
!6 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
!7 = !{!8, !9, !10, !11}
!8 = !DIEnumerator(name: "Internal",...
2016 May 07
2
Debug info scope of explicit casting type does not seem correct
...to the following IR:
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.9.0 (trunk 267335)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3)
!3 = !{!4}
!4 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 32, align: 32) <----------------- No Scope, leads to compile unit scope!!
!5 = !DIDerivedType(tag: DW_TAG_typedef, name: "T", scope: !7, file: !6, line: 16, baseType: !20)
!7 = distinct !DISubprogram(name: "foo<B>", linkageName: "_Z3fooI1BEiPv", s...
2018 Nov 01
4
Fwd: RFC: Adding debug information to LLVM to support Fortran
...stant size as in the following example. The
example shows a two-dimensional array, named array, that has indices from 1
to 10 for the rows and 2 to 11 for the columns.
TYPE(t) :: array(10,2:11)
For this declaration, the compiler generates the following LLVM metadata.
!100 = !DIFortranArrayType(baseType: !7, elements: !101)
!101 = !{ !102, !103 }
!102 = !DIFortranSubrange(constLowerBound: 1, constUpperBound: 10)
!103 = !DIFortranSubrange(constLowerBound: 2, constUpperBound: 11)
The DWARF generated for this is as follows. (DWARF asserts in the standard
that arrays are interpreted as column-m...
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...rsion: 0, emissionKind: FullDebug,
>> enums: !3, globals: !12)
>> !2 = !DIFile(filename: "test", directory: ".")
>> !3 = !{!4}
>> !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name:
>> "GlobalLinkage", scope: !5, file: !5, line: 126, baseType: !6, size: 8,
>> align: 8, elements: !7)
>> !5 = !DIFile(filename: "builtin.zig", directory:
>> "/home/andy/dev/zig/build/zig-cache")
>> !6 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char)
>> !7 = !{!8, !9, !10, !11}
&g...
2016 Dec 21
2
debug info "ref" parameter
...bg !30
}
!22 = !DIExpression()
!20 = !DILocalVariable(name: "i", scope: !21, file: !6, line: 11, type: !13)
!26 = !DILocalVariable(name: "i", scope: !27, file: !6, line: 15, type: !13)
!13 = !DIDerivedType(tag: DW_TAG_typedef, name: "Integer", scope: !2,
file: !3, baseType: !14)
!14 = !DIBasicType(name: "Integer", size: 32, align: 32, encoding:
DW_ATE_signed)
--
Carlo Kok
RemObjects Software
2017 Sep 16
2
assertion triggered since update to llvm 5
...zig 0.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug,
enums: !3, globals: !12)
!2 = !DIFile(filename: "test", directory: ".")
!3 = !{!4}
!4 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "GlobalLinkage",
scope: !5, file: !5, line: 138, baseType: !6, size: 8, align: 8, elements:
!7)
!5 = !DIFile(filename: "builtin.zig", directory:
"/home/andy/dev/zig/build-llvm5-debug/zig-cache")
!6 = !DIBasicType(name: "u3", size: 8, encoding: DW_ATE_unsigned)
!7 = !{!8, !9, !10, !11}
!8 = !DIEnumerator(name: "Internal&...
2017 Sep 17
2
assertion triggered since update to llvm 5
...rsion: 0, emissionKind: FullDebug,
>> enums: !3, globals: !12)
>> !2 = !DIFile(filename: "test", directory: ".")
>> !3 = !{!4}
>> !4 = !DICompositeType(tag: DW_TAG_enumeration_type, name:
>> "GlobalLinkage", scope: !5, file: !5, line: 138, baseType: !6, size: 8,
>> align: 8, elements: !7)
>> !5 = !DIFile(filename: "builtin.zig", directory:
>> "/home/andy/dev/zig/build-llvm5-debug/zig-cache")
>> !6 = !DIBasicType(name: "u3", size: 8, encoding: DW_ATE_unsigned)
>> !7 = !{!8, !9, !10,...