Chris Lattner
f6f0bdfec3
Fix a pretty awesome bug that only happened in a strange case with anonymous
...
types. This was reading the uint for the keyword after the token was advanced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65743 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01 00:53:13 +00:00
Chris Lattner
452e2627dc
reject 0 element vectors with:
...
@a = internal constant void bitcast(<0 x i8> <> to void)
^
Fixes PR3685
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65698 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28 18:12:41 +00:00
Chris Lattner
f570e621ab
add proper asmwriter and asmparser support for anonymous functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 21:48:13 +00:00
Duncan Sands
35b5107951
Pacify gcc-4.3 (thinks IsConstant may be used
...
uninitialized).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-10 16:24:55 +00:00
Dan Gohman
b9070d3f63
Use slightly more correct grammar in error messages.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64148 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 17:41:21 +00:00
Chris Lattner
4a2f112a5c
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 20:00:15 +00:00
Chris Lattner
b4bd16fc5e
reject void pointers with a nice error:
...
llvm-as: t.ll:2:15: pointers to void are invalid, use i8* instead
%X = type void*
^
instead of asserting and dying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 19:56:22 +00:00
Dale Johannesen
49de98214b
Reapply 63765. Patches for clang and llvm-gcc to follow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 01:49:45 +00:00
Dale Johannesen
4d452de150
Reverting 63765. This broke the build of both clang
...
and llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 22:47:25 +00:00
Nate Begeman
d24479730a
New feature: add support for target intrinsics being defined in the
...
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 19:47:21 +00:00
Chris Lattner
91dad87ddc
Fix PR3372
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63501 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 07:24:28 +00:00
Rafael Espindola
bb46f52027
Add the private linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-15 20:18:42 +00:00
Misha Brukman
9b8f542e27
Removed trailing whitespace from Makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61991 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09 16:44:42 +00:00
Dan Gohman
24c047fa6b
61949 accidentally introduced an escaped newline. Fix this by making
...
the comment a little more verbose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 23:51:48 +00:00
Dan Gohman
069f12a590
Fix the comment for lltok::backslash.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 22:18:13 +00:00
Dan Gohman
5d13665c09
Fix the path to llvm/Assembly/Parser.h in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 22:17:05 +00:00
Chris Lattner
1e407c338f
one more crash from PR3281, we now diagnose:
...
llvm-as: t.ll:2:39: function may not return opaque type
%"bwmoyl" = tail call coldcc opaque @g()
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-08 19:05:36 +00:00
Chris Lattner
0d8484f2ed
fix wordo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61728 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:56:52 +00:00
Steve Naroff
b0adcdb7e5
Remove redundant ValID::ValID:: scoping (doesn't compile on Windows).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:48:47 +00:00
Chris Lattner
dfd19ddcfa
Reject PR3281:accepted03.ll with:
...
llvm-as: accepted03.ll:1:35: invalid unresolved type up reference
declare void @r({ \7, opaque, \10 } %su)
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:34:07 +00:00
Chris Lattner
830703b1bd
reject PR3281:crash11.ll with:
...
llvm-as: crash11.ll:2:27: function may not return return opaque type
"xw" = tail call opaque @608(label %31)
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61722 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:27:50 +00:00
Chris Lattner
959873d2da
reject PR3281:crash10.ll with:
...
llvm-as: crash10.ll:3:35: floating point constant does not have type 'ppc_fp128'
"dumy" = fcmp ult ppc_fp128 "j",9209.4
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61721 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:24:23 +00:00
Chris Lattner
c38daba25b
reject PR3281:crash09.ll with this diagnostic:
...
llvm-as: crash09.ll:3:1: self referential type is invalid
type %0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61720 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:19:46 +00:00
Chris Lattner
0b61635063
allow opaque undefs. This resolves PR3282 and fixes
...
test/Assembler/2005-05-05-OpaqueUndefValues.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61719 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 18:12:21 +00:00
Dan Gohman
d68a07650c
Tidy up #includes, deleting a bunch of unnecessary #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 17:59:02 +00:00
Chris Lattner
d0f9c730d4
produce the same diagnostics for vicmp constant exprs as vicmp instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:26:05 +00:00
Chris Lattner
e914b59c00
Fix PR3281:crash08.ll with this diagnostic:
...
llvm-as: crash08.ll:3:15: invalid operand type for instruction
"qp" = sdiv fp128 0x1, %30
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:24:46 +00:00
Chris Lattner
0088a5cc72
reject PR3281:crash07.ll with:
...
llvm-as: crash07.ll:2:32: va_arg requires operand with first class type
%y = va_arg [52 x <{}>] %43, double (...) sspreq
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:18:44 +00:00
Chris Lattner
e67c1aa398
reject undef/zero labels. This fixes PR3281:crash0[56].ll with these
...
diagnostics:
llvm-as: crash05.ll:1:14: invalid type for null constant
global label zeroinitializer addrspace (75), section "c"
^
llvm-as: crash06.ll:2:14: invalid type for null constant
udiv label zeroinitializer, @0
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61681 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:13:38 +00:00
Chris Lattner
4a1c4a414c
add checking intentionally elided for vfcmp/vicmp since they should really
...
just be removed. However, this fixes PR3281:crash04.ll, diagnosing it with:
lvm-as: crash04.ll:2:13: vfcmp requires vector floating point operands
vfcmp uno double* undef, undef
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61680 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:09:48 +00:00
Chris Lattner
d77d04c323
diagnose PR3281:crash02.ll with:
...
llvm-as: crash02.ll:1:62: invalid function return type
declare { <{ <{}>, void ([1898 x { void ()* }], opaque, ...) (), fp128 * }>, opaque } @t ()
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:04:33 +00:00
Chris Lattner
99bb315f32
reject PR3281:crash01.ll with:
...
llvm-as: crash01.ll:1:9: invalid function return type
declare opaque @t()
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61678 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 08:00:30 +00:00
Chris Lattner
081b505f77
fix PR3281:accepted0[02].ll: represent empty arrays distinctly, and
...
diagnose attempts to initialize non-empty arrays with them. This
produces:
llvm-as: accepted02.ll:1:28: invalid empty array initializer
@"o" = global [5 x double] []
^
llvm-as: accepted00.ll:1:32: invalid empty array initializer
@"za" = thread_local global {} []
^
[
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 07:52:51 +00:00
Chris Lattner
3fbb3ab14d
PR3281:crash00.ll: produce this diagnostic instead of crashing:
...
@t = global i8 0, align 3
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05 07:46:05 +00:00
Chris Lattner
ad7d1e2085
Refactor some parser interfaces to fix PR3278 and a FIXME:
...
ParseAssemblyString with a specified module would not parse
into the module, it would create and return a new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-04 20:44:11 +00:00
Misha Brukman
5679d18c54
Alphabetized #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 22:49:28 +00:00
Misha Brukman
9ea4034e00
Down with trailing whitespace!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61594 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 22:46:48 +00:00
Daniel Dunbar
c120526e20
Remove comma at end of enumerator list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:32:55 +00:00
Daniel Dunbar
0526de6b3e
Remove bison specific Makefile bits for AsmParser.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 16:29:09 +00:00
Chris Lattner
6d6b3cc89b
Fix a really horrible typo, which caused undefined behavior.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 08:49:06 +00:00
Chris Lattner
3ed88efb03
minor cleanups and comment improvements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 08:05:26 +00:00
Chris Lattner
a896176973
add a #include to hopefully get the x86-64-linux buildbot building.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61563 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:18:46 +00:00
Chris Lattner
db7ba94c88
update the cmakefile. This is a "best guess", I haven't tested this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:14:23 +00:00
Chris Lattner
df98617b23
Reimplement the old and horrible bison parser for .ll files with a nice
...
and clean recursive descent parser.
This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
including what is autogenerated).
2. The code should be significantly faster than the old code because we
don't have to work around bison's poor handling of datatypes with
ctors/dtors. This also makes the code much more resistant to memory
leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32". There was no good
reason to support this, it was just an accident of the old
implementation. I have no reason to think that anyone is actually using
this.
6. The syntax for sticking a global variable has changed to make it
unambiguous. I don't think anyone is depending on this since only clang
supports this and it is not solid yet, so I'm not worried about anything
breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
I'll prune this from the makefiles as a subsequent commit.
There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:01:27 +00:00
Nick Lewycky
d802be39d7
Update the .cvs files for nocapture.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61241 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 09:41:54 +00:00
Nick Lewycky
73ddd4f00d
Commit missed files from nocapture change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61240 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-19 09:38:31 +00:00
Bill Wendling
29bc4f0dcc
Forgot to revert r61031 when I reverted r61019, r61030, and r61040.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61150 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-17 20:59:57 +00:00
Bill Wendling
6fa311c233
Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
...
builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61094 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-16 19:06:48 +00:00
Nick Lewycky
fd7eb7252f
Update generated files after nocapture syntax change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-15 07:31:07 +00:00
Nick Lewycky
382da62ec2
It turns out that "align 1" and unaligned are different. Add a bias to the
...
alignment attribute such that 0 means unaligned.
This will probably require a rebuild of llvm-gcc because of the change to
Attributes.h. If you see many test failures on "make check", please rebuild
your llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-15 07:29:55 +00:00