Chris Lattner
ecbe933d6a
remove some dead options.
...
llvm-svn: 62095
2009-01-12 19:02:50 +00:00
Daniel Dunbar
b1a40a6a58
ccc: (Darwin) More argument translation for Darwin/Compile tool.
...
llvm-svn: 62093
2009-01-12 18:51:02 +00:00
Devang Patel
f033d53264
Clear debug info at the end of function processing.
...
llvm-svn: 62092
2009-01-12 18:48:36 +00:00
Douglas Gregor
45a33ecce1
Properly set the scope of non-fields declared within a struct, union,
...
or enum to be outside that struct, union, or enum. Fixes several
regressions:
<rdar://problem/6487662>
<rdar://problem/6487669>
<rdar://problem/6487684>
<rdar://problem/6487702>
PR clang/3305
PR clang/3312
There is still some work to do in Objective-C++, but this requires
that each of the Objective-C entities (interfaces, implementations,
etc.) to be introduced into the context stack with
PushDeclContext/PopDeclContext. This will be a separate fix, later.
llvm-svn: 62091
2009-01-12 18:45:55 +00:00
Devang Patel
5daa1abf25
There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.
...
llvm-svn: 62090
2009-01-12 18:41:00 +00:00
Daniel Dunbar
d0b0eca12a
ccc: (Darwin) More argument translation for Darwin/Compile tool.
...
llvm-svn: 62089
2009-01-12 17:53:19 +00:00
Rafael Espindola
6919ab4d05
Remove some dead code from the days llvm had type planes.
...
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(
llvm-svn: 62088
2009-01-12 15:53:25 +00:00
Daniel Dunbar
999c85542a
ccc: (Darwin) Start implementing argument translation for
...
Darwin/Compile tool.
llvm-svn: 62085
2009-01-12 09:23:15 +00:00
Evan Cheng
2adb5cfb48
Second test is only valid in 32-bit mode.
...
llvm-svn: 62084
2009-01-12 08:05:54 +00:00
Daniel Dunbar
f12e40736a
ccc: When constructing a named output, only use base name (not full
...
path).
llvm-svn: 62083
2009-01-12 07:48:07 +00:00
Daniel Dunbar
e42e520a57
ccc: (Darwin) Move path resolution into ToolChain.
...
llvm-svn: 62082
2009-01-12 07:45:49 +00:00
Daniel Dunbar
17bbcfd5a0
ccc: Implement the rest of Darwin/Assembler argument translation.
...
llvm-svn: 62081
2009-01-12 07:40:25 +00:00
Daniel Dunbar
c11d8d4a09
ccc: Implement macosx-version-min conditions (including a bug fix).
...
llvm-svn: 62079
2009-01-12 05:02:38 +00:00
Daniel Dunbar
e84d6ed8f8
ccc: Generalize Darwin/Link tool based on Darwin version.
...
llvm-svn: 62078
2009-01-12 04:21:12 +00:00
Evan Cheng
0258874607
Test for r62076.
...
llvm-svn: 62077
2009-01-12 03:46:55 +00:00
Daniel Dunbar
02cd7e4070
ccc: Support arguments which behave like linker inputs.
...
- Support comma joined options which magically turn into multiple
value arguments (e.g., -Wl,)
- Split out separate Arg::render routine for when an argument is
being rendered as an input (as opposed to in its original form).
- Add option flag for options which should be rendered without the
option when they are used as an input (e.g., -Xlinker or -o).
- Support -weak-l..., -weak_framework, and -weak_library.
llvm-svn: 62075
2009-01-12 03:33:58 +00:00
Evan Cheng
b2c42c648d
Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency.
...
Also future proof the scheduler to handle "normal" physical register dependencies. The code is not exercised yet.
llvm-svn: 62074
2009-01-12 03:19:55 +00:00
Owen Anderson
45cfef2cb6
More two-address fixes. This gets lua working with join-creation enabled.
...
llvm-svn: 62073
2009-01-12 03:10:40 +00:00
Chris Lattner
2089cd09ba
make tblgen autogenerate the nocapture intrinsics for
...
llvm.memcpy/memset/memmove. This allows removal of some
hackish code from basicaa.
llvm-svn: 62071
2009-01-12 02:41:37 +00:00
Daniel Dunbar
027c5fbb6d
ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc is
...
present.
llvm-svn: 62070
2009-01-12 02:24:21 +00:00
Anders Carlsson
00057e4e09
Handle multi-value inputs
...
llvm-svn: 62069
2009-01-12 02:22:13 +00:00
Anders Carlsson
30c235d182
Make sure to initialize the ConstraintInfo to 0
...
llvm-svn: 62068
2009-01-12 02:15:29 +00:00
Chris Lattner
9d0a8770bd
add scaffolding to emit argument attributes. No functionality
...
change.
llvm-svn: 62067
2009-01-12 01:27:55 +00:00
Chris Lattner
49b7ee1b50
make tblgen emit the entire Intrinsic::getAttributes method,
...
not a random piece of it. No functionality change.
llvm-svn: 62066
2009-01-12 01:18:58 +00:00
Chris Lattner
9a3113aeb8
add nocapture attribute to llvm.mem* intrinsics and have tblgen
...
parse them. tblgen doesn't yet do anything with this info though.
llvm-svn: 62065
2009-01-12 01:12:03 +00:00
Chris Lattner
5562d19ebe
some more minor asqualtype bugs.
...
llvm-svn: 62064
2009-01-12 00:21:19 +00:00
Chris Lattner
d1f748dabc
improve some more is*Type predicates to look through asqualtypes.
...
llvm-svn: 62063
2009-01-12 00:10:42 +00:00
Chris Lattner
5cdc94d282
testcase that works now with r62061
...
llvm-svn: 62062
2009-01-12 00:08:58 +00:00
Chris Lattner
ebcbce5ec8
simplify these predicates a bit.
...
llvm-svn: 62061
2009-01-11 23:59:49 +00:00
Nuno Lopes
a0abe62904
make ScalarExprEmitter::EmitCompare() emit the expression with the correct type instead of always zext it to an int
...
this fixes codegen of simple exprs in C++ like 'if (x != 0)'
llvm-svn: 62060
2009-01-11 23:22:37 +00:00
Daniel Dunbar
fd22768b08
ccc: Add fairly complete argument translation for Darwin link step.
...
- Some things are still hardcoded, and macosx-version-min comparison
isn't implemented, but otherwise this very closely matches gcc.
- The one exception is that arguments (like -framework or -Wl,) which are
treated as linker inputs instead of options are not being
forwarded yet.
llvm-svn: 62059
2009-01-11 23:13:15 +00:00
Dale Johannesen
f84685290a
Increase default inlining aggressiveness in partial
...
compensation for turning off gcc's inliner. This gets
us closer to the amount of inlining we were getting before.
It is not a win on everything, of course, but seems to
gain overall.
llvm-svn: 62058
2009-01-11 23:11:00 +00:00
Daniel Dunbar
3b43cf6169
ccc: Add several convenience methods for argument translation.
...
llvm-svn: 62057
2009-01-11 22:42:24 +00:00
Gabor Greif
9722023df8
drats! remove tabs
...
llvm-svn: 62056
2009-01-11 22:39:04 +00:00
Gabor Greif
1b9921af34
simplify CallSite helper class to not consult the Instruction's
...
opcode on each delegation.
Instead the information is cached on construction and the cached flag used thereafter.
Introduced two predicates: isCall and isInvoke.
llvm-svn: 62055
2009-01-11 22:33:22 +00:00
Daniel Dunbar
39a5c22c40
ccc: Add and name a host of arguments.
...
- Also, fix bug in MultipleValuesOption which was accepting joined
arguments.
- Add ArgList::getArgs, provides iterator over all arg instances for a
given option.
- Option definition is very much in need of cleaning...
llvm-svn: 62054
2009-01-11 22:12:37 +00:00
Daniel Dunbar
adf3e5bdbc
ccc: Give the Host an opportunity to switch ToolChains when binding
...
archs (as a driver driver).
llvm-svn: 62053
2009-01-11 22:06:22 +00:00
Daniel Dunbar
10d5adf031
ccc: Print -### output on stderr to match gcc.
...
llvm-svn: 62052
2009-01-11 22:03:55 +00:00
Anders Carlsson
431acd1129
More inline asm fixes
...
llvm-svn: 62049
2009-01-11 21:23:27 +00:00
Chris Lattner
bc088218e6
Implement PR3313, and while I'm at it address a very FAQ.
...
llvm-svn: 62048
2009-01-11 20:53:49 +00:00
Chris Lattner
bd3c7c8b52
Duncan is nervous about undefinedness of % with negatives. I'm
...
not thrilled about 64-bit % in general, so rewrite to use * instead.
llvm-svn: 62047
2009-01-11 20:41:36 +00:00
Chris Lattner
b19151686f
do not generated GEPs into vectors where they don't already exist.
...
We should treat vectors as atomic types, not like arrays.
llvm-svn: 62046
2009-01-11 20:23:52 +00:00
Chris Lattner
171d2d474f
Make a couple of cleanups to the instcombine bitcast/gep
...
canonicalization transform based on duncan's comments:
1) improve the comment about %.
2) within our index loop make sure the offset stays
within the *type size*, instead of within the *abi size*.
This allows us to reason explicitly about landing in tail
padding and means that issues like non-zero offsets into
[0 x foo] types don't occur anymore.
llvm-svn: 62045
2009-01-11 20:15:20 +00:00
Chris Lattner
1ee543e184
make paste avoidance avoid pasting digraphs and :: only when digraphs or c++ is enabled
...
respectively. Inspired by a patch by Dan Villiom Podlaski Christiansen.
llvm-svn: 62044
2009-01-11 19:48:19 +00:00
Anders Carlsson
a948c34b0b
Handle readwrite constraints correctly
...
llvm-svn: 62043
2009-01-11 19:46:50 +00:00
Anders Carlsson
03aaf11502
Forgot to commit this
...
llvm-svn: 62042
2009-01-11 19:40:10 +00:00
Anders Carlsson
da5f56939b
Use a common function for emitting asm inputs and remove a FIXME
...
llvm-svn: 62041
2009-01-11 19:32:54 +00:00
Chris Lattner
fa5880e0bb
this patch "adds support for specifying multiple dependancy targets using ‘-MT’. Using this patch, I was able to use ‘ccc’ as C compiler for the few C files in LLVM. In my brief testing, the output remains identical to that of GCC."
...
Patch by Dan Villiom Podlaski Christiansen!
llvm-svn: 62040
2009-01-11 19:28:34 +00:00
Nick Lewycky
93787d1262
Use the spiffy new getAlignmentFromAttrs function.
...
llvm-svn: 62039
2009-01-11 17:02:06 +00:00
Sebastian Redl
f70b683e89
Fix operator precedence.
...
llvm-svn: 62038
2009-01-11 13:39:06 +00:00