Goose  Diff

Differences From Artifact [4f34d0acac]:

  • File bs/cir/allocvar.h — part of check-in [a0a57b5e22] at 2022-06-22 20:06:00 on branch cir-stack-language — Re-implemented "addr modified by loop" stuff (except ghost func related stuff) and re-enabled loop verification tests (user: zlodo size: 1193)

To Artifact [10e8dcddd4]:

  • File bs/cir/allocvar.h — part of check-in [b81d4242e3] at 2022-06-27 16:56:56 on branch cir-stack-language —
    • cir: allow verification specific code and instructions to be interspersed with regular code again and added a function to filter them out before consuming the code in the interpreter and during codegen
    • verification: better handling of non-representable types that don't involve giving up entirely on verifying the function
    • g0 api: updated it to match the CIR changes
    • prelude: adapted reference verification to the new CIR api
    (user: zlodo size: 1197) [more...]

1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef GOOSE_CIR_ALLOCVAR_H
#define GOOSE_CIR_ALLOCVAR_H

namespace goose::cir
{
    class AllocVar : public BaseInstr< 0, 0 >
    {
        public:
            template< typename T >
            AllocVar( T&& type, uint32_t index, LocationId loc ) :
                BaseInstr( loc ),
                m_type( forward< T >( type ) ),
                m_index( index )





|







1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef GOOSE_CIR_ALLOCVAR_H
#define GOOSE_CIR_ALLOCVAR_H

namespace goose::cir
{
    class AllocVar : public BaseInstr< 0, false >
    {
        public:
            template< typename T >
            AllocVar( T&& type, uint32_t index, LocationId loc ) :
                BaseInstr( loc ),
                m_type( forward< T >( type ) ),
                m_index( index )