summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scons/gallium.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/scons/gallium.py b/scons/gallium.py
index 5e596360871..0d5843603e9 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -362,11 +362,24 @@ def generate(env):
'/GL-', # disable whole program optimization
]
else:
+ if env['machine'] == 'x86_64':
+ cflags += [
+ # Same as /O2, but without global optimizations or auto-inlining
+ # http://msdn.microsoft.com/en-us/library/8f8h5cxt.aspx
+ '/Ob1', # enable inline expansion, disable auto-inlining
+ '/Oi', # enable intrinsic functions
+ '/Ot', # favors fast code
+ '/Oy', # omit frame pointer
+ '/Gs', # enable stack probes
+ '/GF', # eliminate duplicate strings
+ '/Gy', # enable function-level linking
+ ]
+ else:
+ cflags += [
+ '/O2', # optimize for speed
+ ]
cflags += [
- '/Ox', # maximum optimizations
- '/Oi', # enable intrinsic functions
- '/Ot', # favor code speed
- #'/fp:fast', # fast floating point
+ #'/fp:fast', # fast floating point
]
if env['profile']:
cflags += [