Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
OpenGEODE
Commits
95fc5fa6
Commit
95fc5fa6
authored
Jun 07, 2014
by
dbarbera
Browse files
Added relational expression generation
parent
d1582401
Changes
1
Hide whitespace changes
Inline
Side-by-side
LlvmGenerator.py
View file @
95fc5fa6
...
...
@@ -287,6 +287,18 @@ def _basic_operators(expr):
return
builder
.
srem
(
addtmp
,
righttmp
,
'modtmp'
)
elif
expr
.
operand
==
'rem'
:
return
builder
.
srem
(
lefttmp
,
righttmp
,
'remtmp'
)
elif
expr
.
operand
==
'<'
:
return
builder
.
icmp
(
core
.
ICMP_SLT
,
lefttmp
,
righttmp
,
'lttmp'
)
elif
expr
.
operand
==
'<='
:
return
builder
.
icmp
(
core
.
ICMP_SLE
,
lefttmp
,
righttmp
,
'letmp'
)
elif
expr
.
operand
==
'='
:
return
builder
.
icmp
(
core
.
ICMP_EQ
,
lefttmp
,
righttmp
,
'eqtmp'
)
elif
expr
.
operand
==
'/='
:
return
builder
.
icmp
(
core
.
ICMP_NE
,
lefttmp
,
righttmp
,
'netmp'
)
elif
expr
.
operand
==
'>='
:
return
builder
.
icmp
(
core
.
ICMP_SGE
,
lefttmp
,
righttmp
,
'getmp'
)
elif
expr
.
operand
==
'>'
:
return
builder
.
icmp
(
core
.
ICMP_SGT
,
lefttmp
,
righttmp
,
'gttmp'
)
else
:
raise
NotImplementedError
elif
lefttmp
.
type
.
kind
==
core
.
TYPE_DOUBLE
:
...
...
@@ -305,6 +317,18 @@ def _basic_operators(expr):
return
builder
.
frem
(
addtmp
,
righttmp
,
'modtmp'
)
elif
expr
.
operand
==
'rem'
:
return
builder
.
frem
(
lefttmp
,
righttmp
,
'remtmp'
)
elif
expr
.
operand
==
'<'
:
return
builder
.
icmp
(
core
.
FCMP_OLT
,
lefttmp
,
righttmp
,
'lttmp'
)
elif
expr
.
operand
==
'<='
:
return
builder
.
icmp
(
core
.
FCMP_OLE
,
lefttmp
,
righttmp
,
'letmp'
)
elif
expr
.
operand
==
'='
:
return
builder
.
icmp
(
core
.
FCMP_OEQ
,
lefttmp
,
righttmp
,
'eqtmp'
)
elif
expr
.
operand
==
'/='
:
return
builder
.
icmp
(
core
.
FCMP_ONE
,
lefttmp
,
righttmp
,
'netmp'
)
elif
expr
.
operand
==
'>='
:
return
builder
.
icmp
(
core
.
FCMP_OGE
,
lefttmp
,
righttmp
,
'getmp'
)
elif
expr
.
operand
==
'>'
:
return
builder
.
icmp
(
core
.
FCMP_OGT
,
lefttmp
,
righttmp
,
'gttmp'
)
else
:
raise
NotImplementedError
else
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment