[llvm-commits] [llvm] r61558 - in /llvm/trunk: include/llvm/Assembly/ lib/AsmParser/ lib/VMCore/ test/Assembler/ test/Feature/ test/Integer/ test/Linker/ test/Transforms/GlobalOpt/ test/Verifier/ tools/bugpoint/ tools/llvm-as/

Bill Wendling isanbard at gmail.com
Fri Jan 2 00:20:53 PST 2009


On Jan 1, 2009, at 11:01 PM, Chris Lattner wrote:

> Author: lattner
> Date: Fri Jan  2 01:01:27 2009
> New Revision: 61558
>
> URL: http://llvm.org/viewvc/llvm-project?rev=61558&view=rev
> Log:
> 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.
>
>
Hi Chris,

I'm getting this with a release build:

Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/ 
Analysis/BasicAA/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/ 
Analysis/BasicAA/licmtest.ll
Failed with exit(1) at line 1
while running:  llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/ 
build/llvm.src/test/Analysis/BasicAA/licmtest.ll |  opt -basicaa -licm  
|  llvm-dis | /usr/bin/tclsh8.4 /Volumes/Sandbox/Buildbot/llvm/full- 
llvm/build/llvm.src/test/Scripts/prcontext.tcl @A 1 | not /usr/bin/ 
grep Loop
Assertion failed: (Begin + idx <= End), function operator[], file / 
Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include/llvm/ 
ADT/SmallVector.h, line 127.
0   llvm-as           0x00174302  
llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) +  
866
1   libSystem.B.dylib 0x934cd2bb _sigtramp + 43
2   libSystem.B.dylib 0xffffffff _sigtramp + 1823681903
3   libSystem.B.dylib 0x9354123a raise + 26
4   libSystem.B.dylib 0x9354d679 abort + 73
5   libSystem.B.dylib 0x935423db __assert_rtn   llvm-as            
0x00037ffb llvm::LLParser::ParseValID(llvm::ValID&) + 19227
7   llvmake[1]: *** [check-local] Error 1
make: *** [check] Error 2

You can see the full log here:

	http://bwendling.apple.com/builders/full-llvm-OSX/builds/2611/steps/shell/logs/stdio

-bw




More information about the llvm-commits mailing list