aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gccas
diff options
context:
space:
mode:
authorDan Gohman <djg@cray.com>2007-07-18 16:29:46 +0000
committerDan Gohman <djg@cray.com>2007-07-18 16:29:46 +0000
commitf17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc (patch)
treeebb79ea1ee5e3bc1fdf38541a811a8b804f0679a /tools/gccas
downloadexternal_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.zip
external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.gz
external_llvm-f17a25c88b892d30c2b41ba7ecdfbdfb2b4be9cc.tar.bz2
It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/gccas')
-rw-r--r--tools/gccas/Makefile28
-rw-r--r--tools/gccas/gccas.sh64
2 files changed, 92 insertions, 0 deletions
diff --git a/tools/gccas/Makefile b/tools/gccas/Makefile
new file mode 100644
index 0000000..1dc7ecd
--- /dev/null
+++ b/tools/gccas/Makefile
@@ -0,0 +1,28 @@
+##===- tools/gccas/Makefile --------------------------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file was developed by Reid Spencer and is distributed under the
+# University of Illinois Open Source License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+LEVEL = ../..
+
+include $(LEVEL)/Makefile.common
+
+install-local:: $(PROJ_bindir)/gccas
+
+$(PROJ_bindir)/gccas : gccas.sh Makefile
+ $(Echo) Installing gccas shell script.
+ $(Verb) sed "s#@TOOLDIR@#$(PROJ_bindir)#" $< > $@
+ $(Verb) chmod 0755 $@
+
+all-local:: $(ToolDir)/gccas
+
+$(ToolDir)/gccas : gccas.sh Makefile
+ $(Echo) Making $(ToolDir)/gccas shell script.
+ $(Verb) sed "s#@TOOLDIR@#$(ToolDir)#" $< > $@
+ $(Verb) chmod 0755 $@
+
+clean-local::
+ $(Verb)$(RM) -f $(ToolDir)/gccas
diff --git a/tools/gccas/gccas.sh b/tools/gccas/gccas.sh
new file mode 100644
index 0000000..258d960
--- /dev/null
+++ b/tools/gccas/gccas.sh
@@ -0,0 +1,64 @@
+#!/bin/sh
+##===- tools/gccas.sh ------------------------------------------*- bash -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file was developed by Reid Spencer and is distributed under the
+# University of Illinois Open Source License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+#
+# Synopsis: This shell script is a replacement for the old "gccas" tool that
+# existed in LLVM versions before 2.0. The functionality of gccas has
+# now been moved to opt and llvm-as. This shell script provides
+# backwards compatibility so build environments invoking gccas can
+# still get the net effect of llvm-as/opt by running gccas.
+#
+# Syntax: gccas OPTIONS... [asm file]
+#
+##===----------------------------------------------------------------------===##
+#
+echo "gccas: This tool is deprecated, please use opt" 1>&2
+TOOLDIR=@TOOLDIR@
+OPTOPTS="-std-compile-opts -f"
+ASOPTS=""
+lastwasdasho=0
+for option in "$@" ; do
+ option=`echo "$option" | sed 's/^--/-/'`
+ case "$option" in
+ -disable-opt)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -disable-inlining)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -verify)
+ OPTOPTS="$OPTOPTS -verify-each"
+ ;;
+ -strip-debug)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ -o)
+ OPTOPTS="$OPTOPTS -o"
+ lastwasdasho=1
+ ;;
+ -disable-compression)
+ # ignore
+ ;;
+ -traditional-format)
+ # ignore
+ ;;
+ -*)
+ OPTOPTS="$OPTOPTS $option"
+ ;;
+ *)
+ if test $lastwasdasho -eq 1 ; then
+ OPTOPTS="$OPTOPTS $option"
+ lastwasdasho=0
+ else
+ ASOPTS="$ASOPTS $option"
+ fi
+ ;;
+ esac
+done
+${TOOLDIR}/llvm-as $ASOPTS -o - | ${TOOLDIR}/opt $OPTOPTS